# -*- mode: python ; coding: utf-8 -*-

block_cipher = None

a = Analysis(
    ['AIShell.py'],
    pathex=['D:\\study\\python\\AiShell'],
    binaries=[],
    datas=[
        ('Shell\\__init__.py', 'Shell'),
        ('Shell\\core\\conversation.py', 'Shell\\core'),
        ('Shell\\core\\executor.py', 'Shell\\core'),
        ('Shell\\core\\model.py', 'Shell\\core'),
        ('Shell\\core\\terminal.py', 'Shell\\core'),
        ('Shell\\core\\__init__.py', 'Shell\\core'),
        ('Shell\\utils\\config_manager.py', 'Shell\\utils'),
        ('Shell\\utils\\helpers.py', 'Shell\\utils'),
        ('Shell\\utils\\ExamineConfig.py', 'Shell\\utils'),
        ('Shell\\utils\\__init__.py', 'Shell\\utils'),
        ('D:\\study\\python\\AiShell\\.venv\\Lib\\site-packages\\pyfiglet\\fonts\\slant.flf', 'pyfiglet/fonts'),  # 添加字体文件
    ],
    hiddenimports=['pyfiglet.fonts'],  # 添加隐式导入
    hookspath=[],
    runtime_hooks=[],
    excludes=[],
    win_no_prefer_redirects=False,
    win_private_assemblies=False,
    cipher=block_cipher,
)
pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)

exe = EXE(
    pyz,
    a.scripts,
    [],
    exclude_binaries=True,
    name='AIShell',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
)
coll = COLLECT(
    exe,
    a.binaries,
    a.zipfiles,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='AIShell',
)